home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (DO)
/
Peeker Nr. 15 (1986)(Verlag, Dr. Alfred Huethig)(DE).zip
/
Peeker Nr. 15 (1986)(Verlag, Dr. Alfred Huethig)(DE).do
/
DATENDEMOS.txt
< prev
next >
Wrap
Text File
|
1996-12-24
|
3KB
|
204 lines
PROGRAM DATENDEMOS;
PROCEDURE DEMO1A;
VAR
I: INTEGER; {implizit}
BEGIN
WRITELN ('DEMO1A');
I := 10; WRITELN (I)
END;
PROCEDURE DEMO1B;
TYPE
INT = INTEGER; {explizit}
VAR
I: INT;
BEGIN
WRITELN ('DEMO1B');
I := 10; WRITELN (I)
END;
PROCEDURE DEMO2;
VAR
B: BOOLEAN;
I: INTEGER;
BEGIN
WRITELN ('DEMO2');
I := 3; B := ODD (I); {B = TRUE}
IF B = TRUE THEN WRITELN ('ungerade');
I := 2; B := ODD (I); {B = FALSE}
IF B = FALSE THEN WRITELN ('gerade')
END;
PROCEDURE DEMO3;
VAR
I, IE: INTEGER;
R, RE: REAL;
BEGIN
WRITELN ('DEMO3');
R := 1.2;
I := 12;
RE := SIN (R); WRITELN (RE);
RE := SIN (I); WRITELN (RE);
RE := SQR (R); WRITELN (RE);
IE := SQR (I); WRITELN (IE)
END;
PROCEDURE DEMO4;
VAR
C: CHAR;
I: INTEGER;
BEGIN
WRITELN ('DEMO4');
C := 'B';
WRITELN (SUCC (C)); {'C'}
WRITELN (PRED (C)); {'A'}
C := 'A';
I := ORD (C); WRITELN (I); {65}
I := 65;
C := CHR (I); WRITELN (C); {'A'}
C := ''''; WRITELN (C); {Apostroph!}
C := 'Y';
IF C < 'Z' THEN WRITELN ('Y < Z');
FOR C := ' ' TO '~' DO WRITE (C);
WRITELN;
END;
PROCEDURE DEMO5;
VAR
B1, B2: BOOLEAN;
BEGIN
WRITELN ('DEMO5');
B1 := ('A' = 'A'); {TRUE}
B2 := ('A' = 'B'); {FALSE}
{knapper:}
IF B1 THEN WRITELN ('w');
IF NOT B2 THEN WRITELN ('f');
{klarer:}
IF B1 = TRUE THEN WRITELN ('w');
IF B2 = FALSE THEN WRITELN ('f');
B1 := PRED (TRUE); {FALSE}
B2 := SUCC (FALSE); {TRUE}
IF B1 < B2 THEN WRITELN ('f-w');
{0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1}
FOR B1 := FALSE TO TRUE DO
FOR B2 := FALSE TO TRUE DO
WRITELN (ORD (B1), ' AND ', ORD (B2),
' = ', ORD (B1 AND B2))
END;
PROCEDURE DEMO6;
TYPE
ZAHL = (NULL, EINS, ZWEI);
VAR
Z: ZAHL;
BEGIN
WRITELN ('DEMO6');
WRITELN (ORD (EINS)); {1}
WRITELN (ORD (SUCC (EINS))); {2}
WRITELN (ORD (PRED (EINS))); {0}
Z := NULL; WRITELN (ORD (Z)) {0}
END;
PROCEDURE DEMO7;
TYPE
SET1 = SET OF 1..5; {5}
SET2 = SET OF INTEGER; {nur 0..255}
SET3 = SET OF 'A'..'Z'; {26}
SET4 = SET OF CHAR; {0..255}
VAR
M1: SET1; M2: SET2; M3: SET3; M4: SET4;
C: CHAR; I: INTEGER;
BEGIN
WRITELN ('DEMO7');
M2 := [1, 10, 100..200];
IF 199 IN M2 THEN WRITELN ('ja');
M4 := ['A'..'Z', 'a'..'z'];
IF NOT ('#' IN M4) THEN WRITELN ('nein')
END;
PROCEDURE DEMO8;
TYPE
REC = RECORD
I: INTEGER;
R: REAL {kein ';' vor END!}
END;
VAR
R1, R2: REC;
BEGIN
WRITELN ('DEMO8');
R1.I := 123;
R1.R := 123.456;
WRITELN (R1.I:5);
WRITELN (R1.R:10:3);
R2 := R1;
WRITELN (R2.I:5);
WRITELN (R2.R:10:3)
END;
PROCEDURE DEMO9;
CONST
S = 9;
Z = 9;
TYPE
MAT = ARRAY [0..S, 0..Z] OF INTEGER;
VAR
M1, M2: MAT;
I, J: INTEGER;
BEGIN
WRITELN ('DEMO9');
FOR I := 0 TO S DO
FOR J := 0 TO Z DO
M1[I,J] := I * J;
M2 := M1;
FOR I := 0 TO S DO
BEGIN
FOR J := 0 TO Z DO
WRITE (M2[I,J]:5);
WRITELN
END
END;
PROCEDURE MITGLIEDER;
CONST
N = 3;
TYPE
MITGLIED = RECORD
ZUNAME: ARRAY [1..20] OF CHAR;
EINTRITT: INTEGER;
BEITRAG: REAL
END;
VAR
M: ARRAY [1..N] OF MITGLIED;
I: INTEGER;
BEGIN
WRITELN ('Mitglieder');
FOR I := 1 TO N DO
BEGIN
WRITELN ('Nummer ', I);
WRITE ('Zuname: ');
READLN (M[I].ZUNAME);
WRITE ('Eintritt: ');
READLN (M[I].EINTRITT);
WRITE ('Beitrag: ');
READLN (M[I].BEITRAG)
END;
WRITELN;
FOR I := 1 TO N DO
BEGIN
WRITE (M[I].ZUNAME:20);
WRITE (M[I].EINTRITT:10);
WRITELN (M[I].BEITRAG:12:2)
END
END;
BEGIN
DEMO1A; DEMO1B; DEMO2; DEMO3; DEMO4;
DEMO5; DEMO6; DEMO7; DEMO8; DEMO9;
MITGLIEDER
END.